
在 Day 3 的教學中,學習了如何使用 Vue 鷹架工具(Vue project scaffolding tool)來生成一個基於 Vite 環境的專案。今天,我將更進一步地解析這個專案的資料夾結構,幫助大家更好地理解每個檔案和資料夾的用途與功能。
專案樹狀結構圖(不展開 node_module 資料夾):
├── README.md
├── index.html
├── jsconfig.json
├── package-lock.json
├── package.json
├── node_module
├── public
│ └── favicon.ico
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ ├── HelloWorld.vue
│ │ ├── TheWelcome.vue
│ │ ├── WelcomeItem.vue
│ │ └── icons
│ │ ├── IconCommunity.vue
│ │ ├── IconDocumentation.vue
│ │ ├── IconEcosystem.vue
│ │ ├── IconSupport.vue
│ │ └── IconTooling.vue
│ └── main.js
└── vite.config.js
index.html是專案的核心入口文件,負責提供 Vue 應用的基本 HTML 結構,並作為 Vue 應用的渲染容器,Vue 根組件通常會掛載在<div id="app"></div>元素上,並通過這個容器來動態渲染應用的內容。
在打包過程中(執行 npm run build),Vite 會自動將打包後的 JavaScript 和 CSS 文件插入到index.html中,並將最終生成的應用輸出到 dist 資料夾。這確保 Vue 應用在部署後能夠正常加載所有必要的資源(包括打包後的文件),以確保應用順利運行。

可以嘗試改變title的文字內容,並且透過打包的指令npm run dev啟動開發的伺服器,查看title的變化。

專案的 Vite 配置文件,負責定義應用的開發和打包流程。在這個文件中,你可以配置插件、別名、開發伺服器設置等,來優化開發體驗和提升構建效率。
預設情況下,Vite 通常會包含一個路徑別名設定,如下:
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
這個設定非常實用,當你需要引用src資料夾下的檔案時,可以直接使用@ 符號來表示該目錄。在編譯過程中,Vite 會自動將@轉換為正確的絕對路徑,減少了相對路徑引用的麻煩,並使代碼更具可讀性和可維護性。
例如,預設專案在 /src/components/TheWelcome.vue 檔案中匯入 WelcomeItem 組件:
傳統的寫法是:
import WelcomeItem from './WelcomeItem.vue'
使用@ 別名後,你可以這樣寫:
import WelcomeItem from '@/components/WelcomeItem.vue'
src資料夾是專案中所有 Vue 組件和應用邏輯的核心部分,存放應用的組件、樣式和相關靜態檔案。
index.html是專案的入口文件,會透過載入main.js來啟動 Vue 應用。而main.js則會將 App.vue掛載到指定的 DOM 容器中(EX:<div id="app"></div>)。App.vue 作為根組件,是整個 Vue 應用的主入口,負責渲染初始內容並管理 Vue 應用的結構。base.css定義了全域樣式,提供所有組件共用的基礎樣式。單文件組件(SFC, Single File Component)的形式存在,這意味著每個.vue 文件都包含template、script 和 style,將模板、邏輯和樣式整合在一起,方便管理和重用。這些組件各自負責應用的一部分功能,並可在整個應用中重複使用。可以嘗試將HelloWorld.vue中的You’ve successfully created a project with改成Hello Vue!,並且透過npm run dev啟動開發的伺服器,查看其改變後渲染的成果。

【 SFC 元件各區塊簡易配置說明 】
public 資料夾中的文件會在打包過程中直接被複製到最終的輸出目錄中,不會經過 Vite 的處理。因此,這裡的文件通常是一些不需要進行轉換的靜態資源。例如:網站圖標(favicon.ico)。
npm install後,所有依賴會根據package.json被安裝到這裡。本文深入探討了基於 Vite 環境的 Vue 專案結構,幫助開發者理解每個資料夾與文件的用途。通過有效管理這些資源,開發者可以更有條理地構建和維護應用,並利用 Vite 建構工具的功能提升專案的開發效率。